HI 各位,歡迎繼續回來我們這個系列,今天我們要介紹一下 Heatmap-based
結合 Direct
方法去做執行速度等等效能上的改善,主要介紹 PIPNet 這一篇論文的技術細節!
PIPNet 來自於 Inception Institute of Artificial Intelligence (IIAI), Abu Dhabi, UAE 的研究員發在 IJCV 2021 上的論文 "Pixel-in-pixel net: Towards efficient facial landmark detection in the wild"
他主要的想法為,讓 Heatmap 中的 Upsample 這一步不要做,改成去預測 score 跟 offset:
而這兩個 branch 的功用如下:
1.Score branch
* Coarse-Grained predict 粗粒度預測
* 預測目標點出現在 heatmap 的哪一個位置
2.Offset branch
* Fine-Grained predict 細粒度預測
* 預測 x y 座標與左上角的距離
具體預測出來如下:
上圖中女生的眼睛上有一個紅點標記的關鍵點,我們的 score 就希望預測出 1.0,而接下來的的 offset 就希望可以分別預測出這個 patch 上的關鍵點距離 x,y (分別是 0.3 & 0.8)
而這個 PIPNet
的作者還發現了一見有趣的是可以幫助模型更加 robust,就是當下這個關鍵的 heatmap 如果也能夠預測出相近點的 offset 那拜表這個模型更加理解整體關鍵點之間的關係,進而達到更好的預測果。這個模組被取名為 Neighbor Regression Module (NRM),預測如下圖:
所以總體而言,PIPNet
結合 NRM 的話模型結構如下:
預測出來如下:
但聽起來是有道理,那我們臉上有那麼多關鍵點(98個點不是?) 那可不可以直接每個關鍵的 Heatmap 都去預測出其他的關鍵點呢?作者到是有做過實驗驗證不是越多越好:
上圖這個實驗為PIPNet
跟預測不同數量鄰近點的 PIPNet w/ NRM
做比較,縱軸是之前介紹的 NME 評量分數(越低代表越準)我們可以得知以下兩個事實:
我們用一張圖來表達 Direct
, Heatmap-based
以及 PIPNet
之間準度問題:
我們可以輕易看出 PIPNet
效果好了非常多,而 Heatmap-based
確實比 Direct
好!
而我們也比較一下 PIPNet w/ NRM
跟 PIPNet w/o NRM
:
而速度跟精度的 trade-off上,如下圖,我們可以看到 PIPNet
在當時表現出了可以媲美 Heatmap-based
的準度又同時有著極快的運行速度!
我們今天提及了 Heatmap-based
結合 Direct
的改善模型--PIPNet
,明天我們將介紹相關模型的實做!!
1.H Jin, S Liao, L Shao. Pixel-in-pixel net: Towards efficient facial landmark detection in the wild. arXiv preprint arXiv:2003.03771, 2020